package com.syzg.common.dao;

import com.syzg.common.util.SearchMap;
import com.syzg.core.page.PageResult;
import java.io.Serializable;
import java.util.List;

public abstract interface BaseDAO<T>
{
  public abstract T findObjectById(Serializable paramSerializable);

  public abstract Object findObjectById(Serializable paramSerializable, Class<?> paramClass);

  public abstract void delete(Object paramObject);

  public abstract void delete(Serializable paramSerializable);

  public abstract void delete(Serializable paramSerializable, Class<?> paramClass);

  public abstract void delete(Serializable[] paramArrayOfSerializable);

  public abstract void delete(Serializable[] paramArrayOfSerializable, Class<?> paramClass);

  public abstract void update(Object paramObject);

  public abstract void create(Object paramObject);

  public abstract List findObjects(SearchMap paramSearchMap);

  public abstract PageResult findObjectsForPage(int paramInt1, int paramInt2, SearchMap paramSearchMap);

  public abstract long getCount(SearchMap paramSearchMap);

  public abstract boolean isExist(Serializable paramSerializable, String[] paramArrayOfString1, String[] paramArrayOfString2);

  public abstract boolean isExist(Serializable paramSerializable, String[] paramArrayOfString1, String[] paramArrayOfString2, Class<?> paramClass);

  public abstract int executeHql(String paramString);

  public abstract int executeSql(String paramString);
}